//报警列表初始化
layui.use(['layer','laydate', 'datatable', 'datatableButton',  'datatableHtml5', 'datatablePrint', 'datatableColVis', 'datatableSelect'], function() {
  var $ = layui.jquery,
  layer = layui.layer;
  var laydate = layui.laydate;

    var start = {
        min: laydate.now()
        , max: '2099-06-16 23:59:59'
        , istoday: false
        , choose: function (datas) {
            end.min = datas; //开始日选好后，重置结束日的最小日期
            end.start = datas //将结束日的初始值设定为开始日
        }
    };

    var end = {
        min: laydate.now()
        , max: '2099-06-16 23:59:59'
        , istoday: true
        , choose: function (datas) {
            start.max = datas; //结束日选好后，重置开始日的最大日期
        }
    };
  

  // aTypes是插件存放表格内容类型的数组
  // reg赋值的正则表达式，用来判断是否是中文字符
  // 返回值push到aTypes数组，排序时扫描该数组，'chinese'则调用上面两个方法。返回null默认是'string'
  $.fn.dataTableExt.aTypes.push(
    function(sData) {
      var reg = /^[\u4e00-\u9fa5]{0,}$/;
      if(reg.test(sData)) {
        return 'chinese';
      }
      return null;
    }
  );
  $(document).ready(function() {
    var myTable = $('#main_message').DataTable({
      "processing": false, //DataTables载入数据时，是否显示‘进度’提示  
      "stateSave": true, //是否打开客户端状态记录功能,此功能在ajax刷新纪录的时候不会将个性化设定回复为初始化状态  
      "scrollCollapse": true, //是否开启DataTables的高度自适应，当数据条数不够分页数据条数的时候，插件高度是否随数据条数而改变  
      "paginationType": "full_numbers", //详细分页组，可以支持直接跳转到某页  
      "language": lang, //提示信息
      "autoWidth": false, //自适应宽度，
      "lengthMenu": [15, 30, 50],
      "stripeClasses": ["odd", "even"], //为奇偶行加上样式，兼容不支持CSS伪类的场合
      "searching": false, //是否允许Datatables开启本地搜索
      "paging": false, //是否开启本地分页
      "lengthChange": false, //是否允许产品改变表格每页显示的记录数
      "info": false, //控制是否显示表格左下角的信息
      //跟数组下标一样，第一列从0开始，这里表格初始化时，第四列默认降序
      "order": [3, 'desc'], //asc升序   desc降序 
      "aoColumnDefs": [{
        "orderable": false,
        "aTargets": [0,1,2,4,5] // 指定列不参与排序
      }],
      "deferRender": true, //延迟渲染
      //"ajax":"json/device.json",
      "ajax": {
      	url : url + '/ic-iot/admin/'+adminId+'/exceptions/page',//users
				type : 'get',
				data:{
					"start":0,
					"length":12,
				},
				dataType : 'json',
				beforeSend: function(request) {
            request.setRequestHeader("accessToken", accessToken);
        },
				success : function(data) {
					/*if(data['code'] == 1){
						if(data.result.length != 0)*/
								$('#main_message').dataTable().fnAddData(data.data);
					/*	else
							$('#main_message').dataTable().fnClearTable();
					}else{
						ifajax(data);
					}*/
				}
      }, //数据的路径 "http://192.168.5.133:8081/ic-iot/admin/'+adminId+'/devices" /"json/device.json"
      select: { //单击tr选中当前行
        style: 'multi'
      },
      
      "columns": [{
        "data": "deviceName",
        "sTitle": "设备名称", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, {
        "data": "detailTypeInfo",
        "sTitle": "报警原因", //标题
        "sType": 'chinese',
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      }, {
        "data": function(obj) {
	        if (obj.exceptionType == 0) {
	            return '<u class="btn-showuser" style="color:#fad60d">' + '故障' + '</u>';
	        } else if (obj.exceptionType == 1) {
	            return '<u class="btn-showuser" style="color:red">' + '超限' + '</u>';
	        } else if (obj.exceptionType == 3) {
	            return '<u class="btn-showuser" style="color:#999">' + '离线' + '</u>';
	        }
        },
        "sTitle": "异常类型", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      },{
        "data": function(obj) {
           return replaceTime(obj.start / 1000);
        },
        "sTitle": "报警时间", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      },{
        "data": function(obj) {
         	return '<span title="查看" data='+obj.exceptionId+' alt='+obj.deviceId+' style="z-index:9999; cursor:pointer;" class="handle-btn handle-btn-edit"><i style="color:#5ebdc7; font-size:20px;" class="layui-icon">&#xe60a;</i></span>';
          
          //<span title="启用" class="handle-btn handle-btn-run"><i class="linyer icon-qiyong"></i></span>
        },
        "className": "td-handle",
        "sTitle": "操作", //标题
        "sDefaultContent": "", //此列默认值为""，以防数据中没有此值，DataTables加载数据的时候报错  
      },{
      	"data": "",
        "sTitle": "", //标题
        "sDefaultContent": "", 
      }]
    });
    /**
     * 添加falsh
     */
    $.fn.dataTable.Buttons.swfPath = "js/dataTables/extensions/Buttons/swf/flashExport.swf";
    $.fn.dataTable.Buttons.defaults.dom.container.className = 'tableTools-box';
    
    //console.log(myTable);
    myTable.buttons().container().appendTo($('.tableTools'));
  
    /**
     * 选择
     */
    myTable.on('select', function(e, dt, type, index) {
      if(type === 'row') {
        $(myTable.row(index).node()).find('input:checkbox').prop('checked', true);
      }
    });
    /**
     * 取消选择
     */
    myTable.on('deselect', function(e, dt, type, index) {
      if(type === 'row') {
        $(myTable.row(index).node()).find('input:checkbox').prop('checked', false);
      }
    });
    /**
     * 根据表头复选框 选择/取消选择所有行
     */
    $(document).on('click', '#main_message > thead > tr > th input[type=checkbox],#main_message > tfoot > tr > th input[type=checkbox]', function() {
      var th_checked = this.checked;
      $('#main_message').find('tbody > tr').each(function() {
        var row = this;
        if(th_checked) myTable.row(row).select();
        else myTable.row(row).deselect();
      });
    });
    /**
     * 选中/取消选中复选框时 选中/取消选中一行
     */
    $(document).on('click', '#main_message tbody td input[type=checkbox]', function() {
      var row = $(this).closest('tr').get(0);
      if(!this.checked) myTable.row(row).deselect();
      else myTable.row(row).select();
    });
    $(document).on('click', '#main_message tbody td', function() {
      var row = $(this).closest('tr').get(0);
    })
  });
  
   /*用户设备查看*/
 $('.personal-task').on('click', '.handle-btn-edit',  function() {
 		var exceptionId = $(this).attr("data");
 		var deviceId = $(this).attr("alt");
    var username = '详情信息';
    var href = 'device_detail_tabs.html?deviceId='+deviceId;
    var index = layer.open({
    	type:2,
    	title:username,
    	fixed:false,
    	maxmin:false,
    	area:['100%','100%'],
    	content:href,
    });
   $.ajax({
	   	type:"POST",
	   	url:url + '/ic-iot/users/'+adminId+'/exceptions/'+exceptionId+'/isRead',
	   	async:true,
	   	beforeSend: function(request) {
	        request.setRequestHeader("accessToken", accessToken);
	    },
	   	success : function(data) {
				if(data['code'] == 1){
					layer.full(index);
				}else{
					ifajax(data);
				}
			}
   });
  });

 
  
});